﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CRUD.DAO;
using CapaGestion.Spring;
using GestionadorBaseDatos;
using CapaNegocios;



public partial class InterfazKamalde_Categorias: Base
{
    public IGestionCategoria gestionCategoria = AdministradorGestion.getGestionarCategoria();

    public Categoria categoriaSeleccionada = new Categoria();

    public int tamano;

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            categoriaSeleccionada.Nombre = Request.QueryString.Get("op");
            if (categoriaSeleccionada.Nombre != null)
            {
                categoriaSeleccionada.IdCategoria = int.Parse(Request.QueryString.Get("id"));
            }
            else
            {
                categoriaSeleccionada.IdCategoria = 1;
            }
            categoriaSeleccionada = gestionCategoria.GetById(categoriaSeleccionada);
            tabla.Controls.Add(ConsultarEventos(categoriaSeleccionada.ListaEventos));
            IList categoria = gestionCategoria.GetAll();
            llenarComboCategorias(categoria);
            Session["categorias"] = categoria;
            comboCategorias.Text = categoriaSeleccionada.Nombre;
            
        }
       
       

    }
    protected void seccionActiva(object sender, EventArgs e)
    {
        if (Session["login"] == null)
        {
            Response.Redirect("login.aspx");

        }
        else
        {
            int a = comboCategorias.SelectedIndex;
            IList categoriaElegida = gestionCategoria.GetAll();
            tabla.Controls.Add(ConsultarEventos(((Categoria)categoriaElegida[a]).ListaEventos));
       }
    }
   
    protected void llenarComboCategorias(IList categoria)
    {
        int numeroCategorias = categoria.Count;
        for (int i = 0; i < numeroCategorias; i++)
        {
            comboCategorias.Items.Add(((Categoria)categoria[i]).Nombre);
        }
    }
    protected void comboCategorias_TextChanged(object sender, EventArgs e)
    {
        int a = comboCategorias.SelectedIndex;
        IList categoriaElegida = (IList)Session["categorias"];
        tabla.Controls.Add(ConsultarEventos(((Categoria)categoriaElegida[a]).ListaEventos));
    }
    public HtmlTable ConsultarEventos(IList eventos)
    {
        HtmlTable tableCategoria = new HtmlTable();
        HtmlTableRow r = new HtmlTableRow();
        HtmlTableCell cat = new HtmlTableCell();
        HtmlTableCell imagen = new HtmlTableCell();
        HtmlTableCell celdaFecha = new HtmlTableCell();
        celdaFecha.Align = "center";
        cat.Align = "center";
        imagen.Width = "30";
        cat.Width = "200";
        celdaFecha.Width = "200";
        Label categ = new Label();
        categ.Font.Bold = false;
        categ.Font.Name = "Verdana";
        categ.Font.Size = new FontUnit(12);
        categ.Text = "Nombre Evento";
        cat.Controls.Add(categ);
        Label fecha = new Label();
        fecha.Font.Bold = false;
        fecha.Font.Name = "Verdana";
        fecha.Font.Size = new FontUnit(12);
        fecha.Text = "Fecha";
        celdaFecha.Controls.Add(fecha);
        r.Cells.Add(imagen);
        r.Cells.Add(cat);

        r.Cells.Add(celdaFecha);
        tableCategoria.Rows.Add(r);

        tableCategoria.BgColor = "0";
        tableCategoria.Width = "450";

        tamano = eventos.Count;
        int cont = 0;

        while (cont < tamano)
        {
            if ((((Evento)eventos[cont]).Estatus == "ACTIVO") && (((Evento)eventos[cont]).FechaHoraMaxApuesta >= DateTime.Now))
            {
                Image a = new Image();
                a.ImageUrl = "images/bullet3-gamblingtemplatesdotnet.gif";
                imagen = new HtmlTableCell();
                cat = new HtmlTableCell();
                celdaFecha = new HtmlTableCell();
                imagen.Controls.Add(a);
                imagen.Width = "30";
                imagen.Align = "center";
                categ = new Label();
                fecha = new Label();
                r = new HtmlTableRow();
                r.Cells.Add(imagen);
                cat.Width = "350";
                HyperLink hyperlinkModif = new HyperLink();
                hyperlinkModif.Text = ((Evento)eventos[cont]).NombreEvento.ToUpper() + "\n\r";
                hyperlinkModif.NavigateUrl = "Cerrar.aspx?op=" + ((Evento)eventos[cont]).IdEvento.ToString() + "&cate=" + ((Evento)eventos[cont]).NombreEvento;

                fecha.Text = ((Evento)eventos[cont]).FechaEvento.ToString() + "\n\r";
                celdaFecha.Align = "center";
                cat.Align = "center";
                celdaFecha.Controls.Add(fecha);
                cat.Controls.Add(hyperlinkModif);
                r.Cells.Add(cat);
                r.Cells.Add(celdaFecha);
                tableCategoria.Rows.Add(r);
             
            }
            cont++;
        }


        return tableCategoria;
    }

}